package com.smit.dvb.epg;


import com.smit.dvb.DVBEitInfo;
import com.smit.dvb.DVBServiceInfo;
import com.smit.utils.LogUtil;

import java.util.ArrayList;
import java.util.List;

/**
 * DVB节目信息
 */
public class EpgControl {
    private static final String TAG = "EpgControl";
    private List<IEpgCallback> epgCallbackList = new ArrayList<IEpgCallback>();

    /**
     * <p> 添加一个Epg回调 <br/>
     * @param callback 回调接口
     */
    public void addCallback(IEpgCallback callback) {
        if (!epgCallbackList.contains(callback)) {
            epgCallbackList.add(callback);
        }
    }

    /**
     * <p> 移除一个Epg回调 <br/>
     * @param callback 回调接口<br/>
     */
    public void removeCallback(IEpgCallback callback) {
        if (epgCallbackList.contains(callback)) {
            epgCallbackList.remove(callback);
        }
    }

    /**
     * <p> 获取所有Epg回调对象 <br/>
     * @return 返回所有注册进来的回调
     */
    public List<IEpgCallback> getCallbackList() {
        return epgCallbackList;
    }
    
    /**
     * 获取节目的Eit信息
     * @param serviceInfo DVB Service
     * @param type  0 当前节目信息， 1下一个节目信息
     * @return 节目的Eit信息
     */
    public DVBEitInfo getEitInfo(DVBServiceInfo serviceInfo, int type) {
        LogUtil.info(TAG, "getEitInfo start>>>");
        return null;
    }
}